<template>
	<view class="coreshop-share-Box">
		<u-toast ref="uToast" />
		<view class="coreshop-share-pop">
			<view class="coreshop-share-item">
				<button class="coreshop-btn" open-type="share">
					<u-icon label="分享微信好友" labelPos="bottom" size="40" name="/static/images/common/share-friend.png"></u-icon>
				</button>
			</view>
			<!-- <view class="coreshop-share-item">
				<button class="coreshop-btn" @click="$u.throttle(createPoster, 500)">
					<u-icon label="生成海报" labelPos="bottom" size="40" name="/static/images/common/share-poster.png"></u-icon>
				</button>
			</view> -->
		</view>
		<view class="coreshop-share-bottomBox">
			<button class="coreshop-btn coreshop-btn-w coreshop-btn-square" @click="close()">关闭</button>
		</view>
	</view>
</template>

<script>
	export default {
		props: {
			// 通用传参id
			objectId: {
				type: Number,
				default: 0
			},
			// 商品id
			goodsId: {
				type: Number,
				default: 0
			},
			// 分享的图片
			shareImg: {
				type: String,
				default: ''
			},
			// 分享标题
			shareTitle: {
				type: String,
				default: ''
			},
			// 分享内容
			shareContent: {
				type: String,
				default: ''
			},
			// 分享链接
			shareHref: {
				type: String,
				default: ''
			},
			//分享类型
			shareType: {
				type: Number,
				default: 1
			},
			//拼团Id/团购Id/秒杀Id
			groupId: {
				type: Number,
				default: 0
			},
			//拼团的团队id
			teamId: {
				type: Number,
				default: 0
			}
		},
		data() {
			return {
				providerList: [] // 分享通道 包含生成海报
			}
		},
		mounted() {
			//    console.log("类型：" + this.shareType);
		},
		methods: {
			// 关闭弹出层
			close() {
				this.$emit('close')
			},
			// 生成海报
			createPoster() {
				uni.showLoading({
					title: '加载中',
					mask: true
				});
				this.close()
				let data = {};
				if (this.shareType == this.$globalConstVars.shareType.index) {
					data = {
						page: this.shareType, //商品
						url: this.$globalConstVars.shareUrl,
						params: {
							goodsId: this.goodsId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.pinTuan) {
					data = {
						page: this.shareType,
						url: this.$globalConstVars.shareUrl,
						params: {
							groupId: this.groupId,
							goodsId: this.goodsId,
							teamId: this.teamId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.addPinTuan) {
					data = {
						page: this.shareType, //拼团
						url: this.$globalConstVars.shareUrl,
						params: {
							goodsId: this.goodsId,
							groupId: this.groupId,
							teamId: this.teamId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.group) {
					data = {
						page: this.shareType,
						url: this.$globalConstVars.shareUrl,
						params: {
							groupId: this.groupId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.seckill) {
					data = {
						page: this.shareType,
						url: this.$globalConstVars.shareUrl,
						params: {
							groupId: this.groupId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.goods) {
					data = {
						page: this.shareType, //拼团
						url: this.$globalConstVars.shareUrl,
						params: {
							goodsId: this.goodsId,
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.solitaire) {
					data = {
						page: this.shareType,
						url: this.$globalConstVars.shareUrl,
						params: {
							id: this.objectId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				} else if (this.shareType == this.$globalConstVars.shareType.serviceGoods) {
					data = {
						page: this.shareType,
						url: this.$globalConstVars.shareUrl,
						params: {
							serviceGoodsId: this.objectId
						},
						type: this.$globalConstVars.shareModel.poster,
						client: this.$globalConstVars.shareClient.wxMiNiProgram
					}
					let userToken = this.$db.get('userToken')
					if (userToken) {
						data.token = userToken
					}
				}
				this.$u.api.share(data).then(res => {
					if (res.status) {
						uni.hideLoading();
						if (
							this.shareType == this.$globalConstVars.shareType.goods ||
							this.shareType == this.$globalConstVars.shareType.pinTuan ||
							this.shareType == this.$globalConstVars.shareType.addPinTuan ||
							this.shareType == this.$globalConstVars.shareType.seckill ||
							this.shareType == this.$globalConstVars.shareType.group ||
							this.shareType == this.$globalConstVars.shareType.serviceGoods ||
							this.shareType == this.$globalConstVars.shareType.card ||
							this.shareType == this.$globalConstVars.shareType.project
						) {
							//data.posterUrl = encodeURIComponent(res.data);
							data.params.posterUrl = res.data;
							data.params.shareType = this.shareType;

							this.$u.route('/pages/share/shareNewPoster/shareNewPoster' + uni.$u.queryParams(data.params))
						} else {
							this.$u.route('/pages/share/sharePoster/sharePoster?poster=' + encodeURIComponent(res.data))
						}
					} else {
						uni.hideLoading();
						this.$u.toast(res.msg)
					}
				});
			}
		}
	}
</script>